PHP SDK API文档
本文档将详细介绍PHP SDK的API,如果您想要了解如何接入,建议您阅读PHP SDK 使用指南获得安装并使用SDK的方法。您可以在访问GitHub获取PHP SDK的源代码。
最新版本为:1.1.0
更新时间为:2019-09-12
一、实例化类
Python SDK共提供三种Consumer,分别为直接上传数据的BatchConsumer,写入本地文件的FileConsumer,以及用于测试的DebugConsumer
1. BatchConsumer:批量实时地向服务器传输数据(不建议在生产环境中使用)
public BatchConsumer($server_url, $appid, $max_size = 50, $request_timeout = 1000)
/**
* 批量实时地向TA服务器传输数据,不需要搭配传输工具. 不建议在生产环境中使用,不支持多线程
* 实例化一个BatchConsumer对象
* @param $server_url 服务端接口url
* @param $appid 项目appid
* @param $max_size 最大的flush值,默认为50
* @param $request_timeout http的timeout,默认1000s
**/
2. FileConsumer:批量实时地向指定路径写本地文件
public FileConsumer($file_directory = '.', $file_size = 1024, $rotate_hourly = false)
/**
* 批量实时写本地文件,文件以天为分隔,需要与 LogBus 搭配使用进行数据上传. 建议使用,不支持多线程
* 创建指定文件保存目录和指定单个日志文件大小的 FileConsumer
* @param string $file_directory 日志文件保存目录. 默认为当前目录
* @param int $file_size 单个日志文件大小. 单位 MB, 默认为 1024 MB
* @param bool $rotate_hourly 是否按小时切分文件,默认1024MB切分大小
**/
3. DebugConsumer: 逐条实时向 TA 服务器传输数据,如果数据出错,则不入库并返回错误信息(只作校验用)
public DebugConsumer($server_url, $appid, $request_timeout = 1000)
/**
* 逐条传输数据,如果发送失败则抛出异常
* 创建给定配置的 DebugConsumer 对象
* @param $server_url 接收端 url
* @param $appid 项目 APP ID
* @param $request_timeout http 的 timeout,默认 1000s
*/
4. 获取SDK实例
public ThinkingDataAnalytics($consumer)
/**
* 获取SDK实例
* @param $consumer: 使用的Consumer,决定数据格式化和传输的方式.
**/
二、数据操作:
1. 上传事件
track($distinct_id, $account_id, $event_name, $properties = array())
/**
* 上传一个事件
* @param string $distinct_id:用户未登录状态下的访客ID
* @param string $account_id:账号ID,账号ID与访客ID必须传入一个
* @param string $event_name:事件名
* @param array $properties:传入的事件属性
* @return boolean
* @throws Exception 数据传输,或者写文件失败
**/
2. 设置公共属性
register_public_properties($super_properties)
/**
* 设置每个事件都带有的公共属性,当 track 的属性和公共属性有相同的 key 时,将采用 track 的属性
* @param array $super_properties:公共属性
**/
3. 清除公共属性
clear_public_properties()
/**
* 删除所有已设置的公共事件属性
**/
4. 设置用户属性
user_set($distinct_id, $account_id, $properties = array())
/**
* 设置用户属性,如果该用户已经存在该属性,则覆盖,如果不存在则新建该属性
* @param string $distinct_id:用户未登录状态下的访客ID
* @param string $account_id:账号ID,账号ID与访客ID必须传入一个
* @param array $properties:设置的用户属性
* @return boolean
* @throws Exception 数据传输,或者写文件失败
**/
5. 设置单次用户属性
user_setOnce($distinct_id, $account_id, $properties = array())
/**
* 设置用户属性,如果该用户已经存在该属性,不进行覆盖,如果不存在则新建该属性
* @param string $distinct_id:用户未登录状态下的访客ID
* @param string $account_id:账号ID,账号ID与访客ID必须传入一个
* @param array $properties:设置的用户属性
* @return boolean
* @throws Exception 数据传输,或者写文件失败
**/
6. 累加用户属性
user_add($distinct_id, $account_id, $properties = array())
/**
* 累加用户属性,只支持数值型的属性做累加操作
* @param string $distinct_id:用户未登录状态下的访客ID
* @param string $account_id:账号ID,账号ID与访客ID必须传入一个
* @param array $properties:设置的用户属性
* @return boolean
* @throws Exception 数据传输,或者写文件失败
**/
7. 删除用户
user_del($distinct_id, $account_id, $properties = array())
/**
* 删除用户,请注意该操作可能产生不可逆的后果,请慎用
* @param string $distinct_id:用户未登录状态下的访客ID
* @param string $account_id:账号ID,账号ID与访客ID必须传入一个
* @param array $properties:无意义,可以不设置
* @return boolean
* @throws Exception 数据传输,或者写文件失败
**/
8. 立即上传数据
flush()
/**
* 立即提交数据到相应的接收器
**/
9. 关闭并退出SDK
close()
/**
* 关闭并退出sdk,将缓存中的数据发送至服务器
**/